package model;

/**
 * Team EBE - Elite Bombard Elephants
 * 
 * ClassElement.java extends element and adds a visibility field and its
 * associated getters and setters
 * 
 */
public abstract class ClassElement extends element {
	protected char visibility;

	/**
	 * ClassElement
	 */
	public ClassElement() {
		super();
		visibility = '-';
	}

	/**
	 * ClassElement creates the class element
	 * 
	 * @param nameIn
	 *            the name of the class element
	 * @param typeIn
	 *            the type of the class element
	 * @param visIn
	 *            the visibility of the class element
	 */
	public ClassElement(String nameIn, String typeIn, char visIn) {
		super(nameIn, typeIn);
		this.visibility = visIn;
	}

	/**
	 * getVisibility gets the visibility character of the class element and
	 * returns it
	 * 
	 * @return visibility returns the visibility char
	 */
	public char getVisibility() {
		return visibility;
	}

	/**
	 * setVisibility sets the visibility of the class element
	 * 
	 * @param visibilityIn
	 *            the visibility character to be set
	 */
	public void setVisibility(char visibilityIn) {
		visibility = visibilityIn;
		return;
	}
}